/**
 * 字典
 */
module.exports = class Dictionary {
  constructor() {
    this.items = {};
  }

  // 设置项
  set(key, value) {
    this.items[key] = value;
  }

  // 获取项
  get(key) {
    return this.items[key];
  }

  // 移除项
  remove(key) {
    delete this.items[key];
  }

  // 获取所有键
  get keys() {
    return Object.keys(this.items);
  }

  // 获取所有值
  get values() {
    // 也可以使用ES7中的values方法
    return Object.values(this.items);

    // 在这里我们通过循环生成一个数组并输出
    return Object.keys(this.items).reduce((r, c, i) => {
      r.push(this.items[c]);
      return r;
    }, []);
  }
};
